package com.sun.filesigndemo.bussiness.mapper;

import com.sun.filesigndemo.baseMapper.MyMapper;
import com.sun.filesigndemo.common.entity.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface UserMapper extends MyMapper<User> {

    /**
     * 查看某个用户的用户信息+角色信息+权限信息
     * @param username
     * @return
     */
    //com.tcl.newtechnology.common.security.model.User findAllUserRoleAndPermissionByUsername(@Param("username") String username);

    /**
     * 查看所有用户的用户信息+角色信息
     * @param
     * @return
     */
    List findAllUserAndRole();

    /**
     * 删除某个用户的所有信息和角色信息
     * @param userid
     */
    void deleteAllUserRole(@Param("userid") Integer userid);

    /**
     * 删除某个用户的某个角色 (仅修改关系表)
     * @param userid
     * @param roleid
     */
    void deleteUsersRole(@Param("userid") Integer userid, @Param("roleid") Integer roleid);

    /**
     * 删除某个用户的所有角色 (仅修改关系表)
     * @param userid
     * @param
     */
    void deleteUsersAllRole(@Param("userid") Long userid);

    /**
     * 给某个用户添加某个角色
     * @param userid
     * @param roleid
     */
    int insertRoleToUser(@Param("userid") Long userid, @Param("roleid") Integer roleid);

    int updateRoleToUser(@Param("uid") Long userid, @Param("rid") Integer roleid);

    List getUserNameList();
}